package cn.com.mr01.lianxi.mr_lianxi_08;

import java.io.IOException;
import java.util.Iterator;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

/**
 * 拿到的数据<"1001","zhangsan	语文	2001"> <"1001","河北省	石家庄	裕华区">
 * 
 * 输出的数据<"1001","zhangsan	语文	2001	河北省	石家庄	裕华区">
 * 
 * @author yingfing
 * @date 2020年11月19日 @time 下午3:25:46
 */
public class IntSumReducer extends Reducer<Text, Text, Text, Text> {

	Text innon = new Text();

	@Override
	protected void reduce(Text key, Iterable<Text> values, Context context)
			throws IOException, InterruptedException {

		// 1. 统计values 中的数据个数
		int count = 0;
		Iterator<Text> it = values.iterator();
		String out = "";
		String its = "";
		while (it.hasNext()) {
			its = it.next().toString();
			if (its.toString() != null || its.toString().trim().length() != 0) {
				count++;
			}
			// 拼接字符串 zhangsan 语文 2001 河北省 石家庄 裕华区
			out += its.toString();
		}
		// count 大于2 说明有两条以上的数据,这个时候要进行合并,过滤掉为 1 的数据
		if (count >= 2) {
			innon.set(out);
			// 2. <k,v>输出
			context.write(key, innon);
		}
	}
}
